Skip to content

feature(lambda): update ZIP runtime list and default to nodejs22.x - #31

Merged
agustincelentano merged 1 commit into
mainfrom
feat/update-lambda-runtimes
Jul 31, 2026
Merged

feature(lambda): update ZIP runtime list and default to nodejs22.x#31
agustincelentano merged 1 commit into
mainfrom
feat/update-lambda-runtimes

Conversation

@agustincelentano

Copy link
Copy Markdown
Contributor

Updates the runtime list offered for .zip deployments and moves the default off
a runtime that AWS has already deprecated.

Why now

nodejs20.x reached end of support on 2026-04-30. AWS blocks creating
functions on a deprecated runtime from 2027-02-01, and blocks updating them
six months later. Until then it keeps working, so nothing is broken today — but
every new scope created with the current default starts on a runtime with a
deadline attached.

What changes

The list goes to 18 runtimes, adding the ones AWS released since it was last
touched: nodejs24.x, nodejs22.x, python3.14, java25, dotnet10,
ruby4.0 and ruby3.4. nodejs18.x comes out, being past end of support.
nodejs20.x stays available — it is deprecated but still functional, and
removing it would leave existing scopes describing a runtime the schema no longer
admits.

The default becomes nodejs22.x.

The part that matters beyond the list

Six fallbacks hardcoded nodejs20.x and now read nodejs22.x. One of them is
not cosmetic: create_placeholder_lambda builds the function that holds a scope
until its first deployment. That call is a CreateFunction, so it is the one
that stops working on 2027-02-01 — after that date, creating a Lambda scope
would fail while existing scopes kept deploying normally.

Verified

Registered in an AWS implementation and used to create a scope: the function was
created on nodejs22.x, arm64, and served traffic through its ALB. A second
application was later deployed on the same runtime and invoked both over HTTP and
through a DynamoDB stream trigger.

🤖 Generated with Claude Code

Refresh the runtime options against the current AWS Lambda supported
runtimes table and move the default off nodejs20.x, deprecated by AWS
on Apr 30, 2026.

- Add nodejs24.x, nodejs22.x, python3.14, java25, dotnet10, ruby4.0
  and ruby3.4 to the service spec; drop nodejs18.x
- Default runtime is now nodejs22.x, in the spec and in every bash and
  tofu fallback
- The scope-creation placeholder no longer pins nodejs20.x, which AWS
  blocks for create-function starting Feb 1, 2027
@agustincelentano
agustincelentano merged commit d5982f0 into main Jul 31, 2026
5 checks passed
This was referenced Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants